/*
 * Vehicle.h
 *
 *  Created on: 16/06/2013
 *      Author: gabriel
 */

#ifndef VEHICLE_H_
#define VEHICLE_H_

#ifdef MacOSX
#include "GLee.h"
#include <GLUT/glut.h>
#else
#include "GLee.h"
#include <GL/glut.h>
#endif

#include "ModelViewer.hpp"
#include "matrix4f.h"
#include "shader.h"
#include <cmath>


class Vehicle {
public:
	Vehicle(ModelViewer model, float x, float y, float z, Shader *program);
	virtual ~Vehicle();
	void render();
	void setMatrix(Matrix4f matrix);
	void setX(float x);
	void setY(float y);
	void setZ(float z);
	void setTurnAngle(float angle);
	void setAcceleration(float acceleration);
	void update();

	int modelviewUniformHandle;
	Matrix4f matrix;
	ModelViewer model;
	Shader *program;
	float x, y, z, turnAngle;
	float acceleration;

};

#endif /* VEHICLE_H_ */
